/* tslint:disable */
/* eslint-disable */
/**
 * 邢台联邦 通用权限开发平台
 * 让 .NET 开发更简单、更通用、更流行。整合最新技术，模块插件式开发，前后端分离，开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动！任何基于本项目二次开发而产生的一切法律纠纷和责任，我们不承担任何责任！</font></b></u>
 *
 * OpenAPI spec version: 1.0.0
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */

import { CustomAttributeData } from './custom-attribute-data';
import { MemberTypes } from './member-types';
import { MethodInfo } from './method-info';
import { Module } from './module';
import { PropertyAttributes } from './property-attributes';
import { Type } from './type';
/**
 *
 *
 * @export
 * @interface PropertyInfo
 */
export interface PropertyInfo {
	/**
	 * @type {string}
	 * @memberof PropertyInfo
	 */
	name?: string | null;

	/**
	 * @type {Type}
	 * @memberof PropertyInfo
	 */
	declaringType?: Type;

	/**
	 * @type {Type}
	 * @memberof PropertyInfo
	 */
	reflectedType?: Type;

	/**
	 * @type {Module}
	 * @memberof PropertyInfo
	 */
	module?: Module;

	/**
	 * @type {Array<CustomAttributeData>}
	 * @memberof PropertyInfo
	 */
	customAttributes?: Array<CustomAttributeData> | null;

	/**
	 * @type {boolean}
	 * @memberof PropertyInfo
	 */
	isCollectible?: boolean;

	/**
	 * @type {number}
	 * @memberof PropertyInfo
	 */
	metadataToken?: number;

	/**
	 * @type {MemberTypes}
	 * @memberof PropertyInfo
	 */
	memberType?: MemberTypes;

	/**
	 * @type {Type}
	 * @memberof PropertyInfo
	 */
	propertyType?: Type;

	/**
	 * @type {PropertyAttributes}
	 * @memberof PropertyInfo
	 */
	attributes?: PropertyAttributes;

	/**
	 * @type {boolean}
	 * @memberof PropertyInfo
	 */
	isSpecialName?: boolean;

	/**
	 * @type {boolean}
	 * @memberof PropertyInfo
	 */
	canRead?: boolean;

	/**
	 * @type {boolean}
	 * @memberof PropertyInfo
	 */
	canWrite?: boolean;

	/**
	 * @type {MethodInfo}
	 * @memberof PropertyInfo
	 */
	getMethod?: MethodInfo;

	/**
	 * @type {MethodInfo}
	 * @memberof PropertyInfo
	 */
	setMethod?: MethodInfo;
}
